package com.feidee.data.email.dao;

import com.feidee.data.report.exception.DataDaoException;

import java.util.List;
import java.util.Map;

public interface PutDao {

  /**
   *  以主键来更新mysql表中的数据
   * @param datas 放入的数据,每个map表示一行数据
   * @param sink_table 放入的表
   * @param sink_keys 表的主键
   * @throws DataDaoException
   */
  public void updateDate(List<Map<String, String>> datas, String sink_table, String sink_keys) throws DataDaoException;

  /**
   * 将数据以纵表的形式放入到指定的表中
   * @param datas 放入的数据,每个map表示一行数据
   * @param sink_table 表的名字
   * @param sink_keys 表中不变列名
   * @throws DataDaoException
   */
  public void replaceDateWithVertical(List<Map<String, String>> datas, String sink_table, String sink_keys) throws DataDaoException;


  /**
   * 将数据以横表的形式replace到指定的表中
   * @param datas 放入的数据,每个map表示一行数据
   * @param sink_table 表的名字
   * @throws DataDaoException
   */
  public void replaceDataWithHorizontal(List<Map<String,String>> datas,String sink_table) throws DataDaoException;
}
